package pe.edu.pucp.dp1.procesamiento.controlador;

import pe.edu.pucp.dp1.gui.controlador.GestorGUI;
import pe.edu.pucp.dp1.lectura.controlador.GestorCar;
import static pe.edu.pucp.dp1.procesamiento.controlador.GestorInterseccion.properties;

public class HiloGeneral extends Thread {

    public static GestorInterseccion gestorInter = GestorInterseccion.getInstance();
    public static GestorGUI gestorGUI = GestorGUI.getInstance();
    private int periodoSemaforo = Integer.valueOf(properties.getProperties().getProperty("PeriodoSemaforo"));
    private int periodoGenetico = Integer.valueOf(properties.getProperties().getProperty("PeriodoGenetico"));

    public void run() {

        while (true) {
            try {
                //System.out.println("Ejecucion HiloGeneral");
                Thread.sleep(1000);
                if (gestorInter.getPeriodoSemaforo() > 0) {
                    gestorInter.setPeriodoSemaforo(gestorInter.getPeriodoSemaforo() - 1);
                    
                } else {
                    gestorInter.setPeriodoSemaforo(periodoSemaforo);
                    //gestorGUI.ActMatrizVehicZona();
                }
                //System.out.println("Tiempo restante para aplicar algoritmo: "+gestorInter.getPeriodoGenetico());
                /*if (gestorInter.getPeriodoGenetico() > 0) {
                    gestorInter.setPeriodoGenetico(gestorInter.getPeriodoGenetico() - 1);
                } else if(!gestorInter.isHiloGenEjecucion()){
                    gestorInter.setPeriodoGenetico(periodoGenetico);
                    //gestorInter.iniHiloGenetico();
                }*/
//                if(gestorInter.getPeriodoGenetico()==15){
//                    //gestorInter.iniHiloGenetico();
//                    gestorInter.setPeriodoGenetico(14);
//                }
                
                //System.out.println("PeridoSemaforo: "+gestorInter.getPeriodoSemaforo());
            } catch (Exception e) {
            }
        }
        
        
    }
}
